home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 76 / XENIATGM66.iso / Indiana Jones / Indiana Jones.exe / RESOURCE / PREVIEW.GOB / cog_shw_entrancedoors.cog < prev    next >
Text File  |  1999-11-15  |  3KB  |  105 lines

  1. # Jones 3D Cog Script
  2. #
  3. # shw_entrance_doors.cog
  4. #
  5. # Main Waterworks Door Script
  6. #
  7. # [CMG]
  8. #
  9. # (C) 1997 LucasArts Entertainment Co. All Rights Reserved
  10. # ========================================================================================
  11.  
  12. symbols
  13.     message    startup        
  14.     message    crossed    
  15.     message    blocked        
  16.  
  17.     thing        door0        linkid=0
  18.     thing        door1        
  19.     surface        adjoin0         linkid=1        mask=0x4
  20.     surface        adjoin1         linkid=2        mask=0x4
  21.  
  22.  
  23.     float        doorspeed=4.0
  24.     float        sleepTime=2.0
  25.     int        open=0
  26.     float        lightValueR=0.5
  27.     float        lightValueG=0.5
  28.     float        lightValueB=0.5
  29.  
  30.     vector    vecLightValue        local
  31.  
  32.     sector    doorSector            local
  33. end
  34.  
  35. # ========================================================================================
  36.  
  37. code
  38.  
  39. startup:
  40.     doorSector = GetThingSector(door0);
  41.     SetSectorAdjoins(doorSector, 0);
  42.  
  43.     vecLightValue = VectorSet(lightValueR, lightValueG, lightValueB);
  44.     SetSectorLight(doorSector, vecLightValue, 0.0);        // add some light to door sector
  45.     return;
  46.  
  47. # ........................................................................................
  48.  
  49. crossed:
  50.  
  51.         if (getSenderID() == 1)
  52.         {
  53.             if (open == 1) return;
  54.         if (IsThingMoving(door0)) return;
  55.             
  56.         {
  57.                 open = 1;
  58.                 SetSectorAdjoins(doorSector, 1);
  59.                 Rotate(door0, -90, 1, doorspeed);
  60.                 Rotate(door1, 90, 1, doorspeed);
  61.                 waitforstop(door0);
  62.                 sleep(sleeptime);
  63.                 Rotate(door0, 90, 1, doorspeed);
  64.                 Rotate(door1, -90, 1, doorspeed);
  65.                 waitforstop(door0);
  66.                 SetSectorAdjoins(doorSector, 0);
  67.                 open = 0;
  68.                 return;
  69.             }
  70.         }
  71.     else
  72.         
  73.         if (GetSenderID() == 2)
  74.         {
  75.                 
  76.                 if (open == 1) return;
  77.                 if (IsThingMoving(door0)) return;
  78.                 
  79.             {
  80.                 open = 1;
  81.         SetSectorAdjoins(doorSector, 1);
  82.                 Rotate(door0, 90, 1, doorspeed);
  83.                 Rotate(door1, -90, 1, doorspeed);
  84.                 waitforstop(door0);
  85.                 sleep(sleeptime);
  86.                 Rotate(door0, -90, 1, doorspeed);
  87.                 Rotate(door1, 90, 1, doorspeed);
  88.                 waitforstop(door0);
  89.                 SetSectorAdjoins(doorSector, 0);
  90.                 open = 0;
  91.                 return;
  92.             }
  93.         }
  94.         
  95. # ........................................................................................
  96.  
  97. blocked:
  98.     rotatepivot(door0, 1, doorspeed);
  99.     return;
  100.  
  101. # ........................................................................................
  102.  
  103. end
  104.  
  105.